Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Data striping
Data segmentation technique

In computer data storage, data striping involves segmenting sequential data and distributing these segments across multiple physical devices to enhance performance. This technique increases data throughput by allowing simultaneous access to different storage units and helps balance I/O load. Striping is commonly employed in disk drives within RAID configurations, as well as in network interface controllers, disk arrays, clustered file systems, grid-oriented storage, and even some RAM setups, improving overall system efficiency and data access speeds.

Related Image Collections Add Image
We don't have any YouTube videos related to Data striping yet.
We don't have any PDF documents related to Data striping yet.
We don't have any Books related to Data striping yet.
We don't have any archived web articles related to Data striping yet.

Method

One method of striping is done by interleaving sequential segments on storage devices in a round-robin fashion from the beginning of the data sequence. This works well for streaming data, but subsequent random accesses will require knowledge of which device contains the data. If the data is stored such that the physical address of each data segment is assigned a one-to-one mapping to a particular device, the device to access each segment requested can be calculated from the address without knowing the offset of the data within the full sequence.

Other methods might be employed in which sequential segments are not stored on sequential devices. Such non-sequential interleaving can have benefits in some error correction schemes.

Advantages and disadvantages

Advantages of striping include performance and throughput. Sequential time interleaving of data accesses allows the lesser data access throughput of each storage devices to be cumulatively multiplied by the number of storage devices employed. Increased throughput allows the data processing device to continue its work without interruption, and thereby finish its procedures more quickly. This is manifested in improved performance of the data processing.

Because different segments of data are kept on different storage devices, the failure of one device causes the corruption of the full data sequence. In effect, the failure rate of the array of storage devices is equal to the sum of the failure rate of each storage device. This disadvantage of striping can be overcome by the storage of redundant information, such as parity, for the purpose of error correction. In such a system, the disadvantage is overcome at the cost of requiring extra storage.

Terminology

The segments of sequential data written to or read from a disk before the operation continues on the next disk are usually called chunks, strides or stripe units, while their logical groups forming single striped operations are called strips or stripes. The amount of data in one chunk (stripe unit), often denominated in bytes, is variously referred to as the chunk size, stride size, stripe size, stripe depth or stripe length. The number of data disks in the array is sometimes called the stripe width, but it may also refer to the amount of data within a stripe.1234

The amount of data in one stripe multiplied by the number of data disks in the array (i.e., stripe depth times stripe width, which in the geometrical analogy would yield an area) is sometimes called the stripe size or stripe width.5 Wide striping occurs when chunks of data are spread across multiple arrays, possibly all the drives in the system. Narrow striping occurs when the chunks of data are spread across the drives in a single array.

Applications

Data striping is used in some databases, such as Sybase, and in certain RAID devices under software or hardware control, such as IBM's 9394 RAMAC Array subsystem. File systems of clusters also use striping. Oracle Automatic Storage Management allows ASM files to be either coarse or fine striped.

RAID In some RAID configurations, such as RAID 0, failure of a single member drive of the RAID array causes all stored data to be lost. In other RAID configurations, such as a RAID 5 that contains distributed parity and provides redundancy, if one member drive fails the data can be restored using the other drives in the array. LVM2 Data striping can also be achieved with Linux's Logical Volume Management (LVM). The LVM system allows for the adjustment of coarseness of the striping pattern. LVM tools will allow implementation of data striping in conjunction with mirroring. LVM offers the added benefit of read and write caching on NVM Express for slow spinning storage. LVM has other advantages that are not directly related to data striping (like snapshots, dynamic resizing, etc). Btrfs and ZFS Have RAID like features but with the security of chunk integrity to detect bad blocks, and the added flexibility of adding arbitrary numbers of extra drives. They also have other advantages that are not directly related to data striping (copy-on-write, etc).

See also

References

  1. "Red Hat Enterprise Linux 6 storage administration guide, chapter 6. The ext4 file system". Red Hat. 9 October 2014. Retrieved 8 February 2015. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-ext4.html

  2. "mdadm(8) – Linux man page". linux.die.net. Retrieved 8 February 2015. http://linux.die.net/man/8/mdadm

  3. "Linux kernel documentation: RAID setup". kernel.org. 11 November 2014. Retrieved 8 February 2015. https://raid.wiki.kernel.org/index.php/RAID_setup

  4. "RAID chunk size" (PDF). xyratex.com. January 2008. pp. 6–7. Archived from the original (PDF) on 1 August 2014. Retrieved 8 February 2015. https://web.archive.org/web/20140801150001/http://www.xyratex.com/sites/default/files/Xyratex_White_Paper_RAID_Chunk_Size_1-0.pdf

  5. "Stripe depth is the size of the stripe, sometimes called stripe unit. Stripe width is the product of the stripe depth and the number of drives in the striped set." http://docs.oracle.com/cd/B10501_01/server.920/a96533/iodesign.htm